1. Technical Field
The present invention relates, in general, to improved data processing systems and, more particularly, to computer systems and computer displays that include data display regions which display icons. More particularly, the present invention relates to an improved graphical user interface and to a method and apparatus for selecting objects and utilizing graphical user interface icons from among a large number of objects. Still more particularly, the present invention relates to a method and apparatus for selecting a large number from among a large group of numbers.
2. Description of the Related Art
A variety of graphical user interfaces have been developed to ease human interaction with computer systems. Many graphical user interfaces utilize metaphors in the design of the interface as a way of maximizing human familiarity and conveying information between the user and computer. Through the use of familiar metaphors, such as desktops, notebooks, and the like, the interface takes advantage of existing human mental structures to permit a user to draw upon the metaphor analogy to understand the requirements of a particular computer system.
In current generation systems, it is common for computer systems to incorporate so-called "object-oriented" display systems which utilize multiple "windows" on a display in which combinations of text and graphics are disposed. Using a "desktop" metaphor, the windows may take the form of a variety of objects, such as file folders, loose leaf binders, or simple rectangles, and the windows may overlap one another with the "top" window constituting the current work file. A user working within the context of a window-based graphical user interface can operate on objects commonly found in an office, and therefore, provides non-expert users with familiar surroundings in which to interact with data processing systems.
Thus, a graphical user interface is a type of display format that enables a user to choose commands, start programs, and see lists of files and other options by pointing to pictorial representations and lists of menu items on the screen. Choices can generally be activated either with a keyboard or a mouse. For application developers, graphical user interfaces offer an environment that can handle direct interaction with the computer. Such an environment frees the developer to concentrate on a given application without becoming entangled in the details of a screen display or mouse and keyboard input. A graphical user interface also enables programmers to create programs that always handle frequently performed tasks, such as saving a data file. The graphical user interface itself provides standard controlling mechanisms such as windows and dialog boxes. Another benefit is that applications written for graphical user interfaces are device independent: as the graphical user interface changes to support new input and output devices, such as large screen monitors or optical storage devices, the applications can, without modifications, utilize those devices.
In a typical window-based graphical user interface system, visually distinct display objects are provided on the display screen and are commonly referred to as "icons." Each icon represents a function or an object on the desktop. In many systems, a cursor is also displayed which may be selectively moved in response to the movement of a mouse or other pointer control device. The cursor may be moved over display objects which the user may select on the screen. The user may delete information from a window, move data from one window to another, and generally operate on the windows as if an actual file or other physical object is being manipulated.
Selecting a particular object from among a number of very large objects in a graphical user interface environment is a difficult task. On particular, selecting a particular object such as a number from among a group of very large numbers in a graphical environment poses difficulties to the user, and can be typically accomplished through the utilization of "spin buttons." Spin buttons, in a graphical user interface environment, are icons which allow a user to select large numbers, albeit at a very slow rate. Spin buttons are well-known in the art of number selection, particularly in graphical user interface environments.
However, utilizing spin buttons to select numbers can be a painful experience to the user. For example, if a user desires to select the number 855,492,776 using a graphical user interface spin button that starts counting clicks at 0, it may take approximately 237,636 hours (27 years) to accomplish this simple task. The user is unable to control the rate at which the number selector changes numbers for selection. A need thus exists for a graphical-user-interface-based icon or "button" that will save time and aggravation to a user by allowing the user to select large objects or large numbers in a very short time (e.g., seconds). A need also exists for a graphical-user-interface-based icon that allows a user to control the rate at which such a selector increments a counter. A graphical-user-interface-based icon that also allows a user to program the speed and rate of change dependent upon a largest allowable number is also a goal sought by users of graphical-user-interface-based number selectors, but which is not provided by current graphical-user-interface spin buttons.